import {
	upgradeApp
} from '@/services/api/auth';
import {
	VITE_APP_URL
} from './http/url.js'

/**
 * @description 版本更新
 * @param {Boolean} tip 是否显示提示信息
 *  app初始化进行版本判断, 不显示提示信息   -> false
 *  关于页面 手动点击版本更新, 显示提示信息   -> true
 */
export async function versionUpdate(tip = false) {
	// 1 请求返回服务端版本信息
	const res = await getLatestVersion();
	if (!res) {
		if (tip) {
			uni.showToast({
				title: '暂无更新',
				duration: 2000
			});
		}
		return;
	}

	//   // 2 存储服务端版本信息
	//   utils.setServerInfo({
	//     version: res.versionName,
	//     versionCode: res.versionCode,
	//     downloadUrl: res.downloadUrl,
	//     wgtUrl: res.wgtUrl,
	//     forceUpdate: res.forceUpdate,
	//     isSilently: res.isSilently,
	//     desc: res.versionDesc,
	//   });

	// // 3 判断是否更新
	// if (!utils.isUpdate()) {
	// 	if (tip) uni.$z.toast('已是最新版本');
	// 	return;
	// }
	// const updateInfo = utils.getUpdateInfo();
	// const info = utils.getServerVersion();
	// // 4 wgt 静默更新
	// if (updateInfo.type == 'wgt' && info.isSilently) {
	// 	const path = await utils.downloadFile(updateInfo.url);
	// 	// 下载完成 直接安装 下次启动生效
	// 	await utils.installForAndroid(path);
	// 	return;
	// }
	// 5 跳转页面 提示更新
	//   await utils.toUpgradePage('/uni_modules/hic-upgrade/pages/upgrade');
	await uni.navigateTo({
		url: '/components/Update/Update?obj=' + JSON.stringify(res)
	});
}

/**
 * 模拟服务端请求
 */
async function getLatestVersion() {
	const baseUrl = VITE_APP_URL;
	const res = (await upgradeApp()) || {};
	return {
		describe: res.data.content, //  更新描述
		edition_url: baseUrl + res.data.downloadUrl, // 更新地址
		edition_force: 1, // 是否强制更新 0代表否 1代表是
		package_type: 0, // 0是整包升级（apk或者appstore或者安卓应用市场） 1是wgt升级
		edition_issue: 0, // 是否发行  0否 1是 为了控制上架应用市场审核时不能弹出热更新框
		edition_number: 100, // 版本号 最重要的manifest里的版本号 （检查更新主要以服务器返回的edition_number版本号是否大于当前app的版本号来实现是否更新）
		edition_name: res.data.merchantVersion, // 版本名称 manifest里的版本名称
		edition_silence: 0, // 是否静默更新 0代表否 1代表是
	};
}